Systems and Methods for Automatic Application of Special Effects Based on Image Attributes

ABSTRACT

An image editing device is configured to automatically apply special effects to a digital image. In the image editing device, a digital image is obtained, and a selection is retrieved from a user, where the user selection specifying at least one criterion. At least one attribute of the digital image is analyzed, and a determination is made on whether the at least one attribute coincides with a target attribute associated with the at least one criterion. Responsive to the at least one attribute coinciding with the target attribute, a special effect is obtained from a data store, and the obtained special effect is applied to the digital image.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims priority to, and the benefit of, U.S.Provisional Patent Application entitled, “Automatic Application ofSpecial Effects Based on Image Attributes,” having Ser. No. 62/060,663,filed on Oct. 7, 2014, which is incorporated by reference in itsentirety.

TECHNICAL FIELD

The present disclosure generally relates to editing multimedia contentand more particularly, to a system and method for automatic applicationof special effects based on image attributes.

BACKGROUND

As smartphones and other mobile devices have become ubiquitous, peoplehave the ability to take digital images virtually any time. However, theprocess of selecting and incorporating special effects to furtherenhance digital images can be challenging and time-consuming.

SUMMARY

Briefly described, one embodiment, among others, is a method implementedin an image editing device. The method comprises obtaining a digitalimage and retrieving a selection from a user, where the user selectionspecifies at least one criterion. The method further comprises analyzingat least one attribute of the digital image and determining whether theat least one attribute coincides with a target attribute associated withthe at least one criterion. Responsive to the at least one attributecoinciding with the target attribute, a special effect is obtained froma data store, and the obtained special effect is applied to the digitalimage.

Another embodiment is an image editing system for automatically applyingspecial effects. The image editing system comprises a processor and anapplication executable in the processor. The application comprises amedia interface component for obtaining a digital image and a userinterface component for retrieving a selection from a user, the userselection specifying at least one criterion. The application furthercomprises an image content analyzer for analyzing at least one attributeof the digital image and for determining whether the at least oneattribute coincides with a target attribute associated with the at leastone criterion. The application further comprises a special effectscomponent for obtaining a special effect from a data store responsive tothe at least one attribute coinciding with the target attribute and forapplying the obtained special effect to the digital image.

Another embodiment is a non-transitory computer-readable mediumembodying a program executable in a computing device, comprising codethat obtains a digital image depicting an individual, code thatdetermines a context of an event associated with the digital image byextracting at least one of time and location information contained inmetadata encoded in the digital image and comparing the extracted dataagainst calendar data. The non-transitory computer-readable mediumfurther comprises code that obtains a cosmetic effect from a data storebased on the determined event context and code that applies the obtainedcosmetic effect to the digital image.

Other systems, methods, features, and advantages of the presentdisclosure will be or become apparent to one with skill in the art uponexamination of the following drawings and detailed description. It isintended that all such additional systems, methods, features, andadvantages be included within this description, be within the scope ofthe present disclosure, and be protected by the accompanying claims.

BRIEF DESCRIPTION OF THE DRAWINGS

Many aspects of the disclosure can be better understood with referenceto the following drawings. The components in the drawings are notnecessarily to scale, emphasis instead being placed upon clearlyillustrating the principles of the present disclosure. Moreover, in thedrawings, like reference numerals designate corresponding partsthroughout the several views.

FIG. 1 is a block diagram of an image editing device in which the imageediting techniques disclosed herein may be implemented in accordancewith various embodiments of the present disclosure.

FIG. 2 illustrates an alternative embodiment of the effects applicatorwhere the image content analyzer further comprises a gesture sensor forautomatically applying special effects based on gestures depicted in thedigital image in accordance with various embodiments of the presentdisclosure.

FIG. 3 is a schematic diagram of the image editing device of FIG. 1 inaccordance with various embodiments of the present disclosure.

FIG. 4 is a top-level flowchart illustrating examples of functionalityimplemented as portions of the image editing of FIG. 1 for automaticallyapplying special effects according to various embodiments of the presentdisclosure.

FIGS. 5A and 5B depict a top-level flowchart in accordance with oneembodiment for further describing the operations performed by the imagecontent analyzer of FIG. 1 of analyzing one of more attributes of thedigital image and determining whether the one or more attributescoincide with a target attribute according to various embodiments of thepresent disclosure.

FIG. 6 illustrates an example whereby the effects applicator in theimage editing device of FIG. 1 applies an event-based special effect toa digital image according to various embodiments of the presentdisclosure.

FIG. 7 illustrates an example whereby the effects applicator in theimage editing device of FIG. 1 applies a location-based special effectto a digital image according to various embodiments of the presentdisclosure.

FIG. 8 illustrates another example whereby the effects applicatorapplies a special effect based on a gesture or pose depicted in thedigital image according to various embodiments of the presentdisclosure.

DETAILED DESCRIPTION

Various embodiments are disclosed for analyzing attributes associatedwith digital images and automatically applying special effects based onthe analysis. The special effects may comprise, but are not limited to,one or more graphics applied to the facial region of an individualdepicted in the digital image. For example, the graphics may be appliedto simulate the appearance of cosmetic make-up applied to theindividual's face. The special effects may also include one or moregraphics applied to other parts of the individual. For example, thegraphics may be applied to simulate the appearance of clothing or othermaterial worn by the individual.

The user of the system specifies the criterion to be applied indetermining which special effects to be automatically retrieved andapplied to a digital image. For example, the user may specify that thespecial effects automatically applied to an individual (e.g., in thefacial region) are event-based, where the individual depicted in theimage previously participated in a planned activity such as a socialgathering, a sporting event, and so on.

The user may also specify that the special effects applied to theindividual are based on date and/or time. For example, the specialeffects may be applied based on a determination that the individual isno longer working at the office based on the time/date (e.g., Saturday)of the digital image. The user may also specify that the special effectsbe applied to the individual based on location data associated with thedigital image, whereby the location data (derived, for example, via GPS,WiFi) may be embodied as metadata encoded in the digital image.

FIG. 1 is a block diagram of an image editing device 102 in which theimage editing techniques disclosed herein may be implemented. The imageediting device 102 may be embodied as a computing device equipped withdigital content recording capabilities such as, but not limited to, adigital camera, a smartphone, a tablet computing device, a digital videorecorder, a laptop computer coupled to a webcam, and so on.

An effects applicator 104 executes on a processor of the image editingdevice 102 and includes various components including an image contentanalyzer 106, a special effects component 110, and a user interfacecomponent 112. The image content analyzer 106 is configured to analyzethe content of digital images captured by the camera module 111 and/orreceived from a remote source. The image content analyzer 106 may alsobe configured to analyze content of digital images stored on a storagemedium such as, by way of example and without limitation, a compact disc(CD), a universal serial bus (USB) flash drive, or cloud storage,wherein the digital images may then be transferred and stored locally ona hard drive of the image editing device 102.

The digital images processed by the image content analyzer 106 may bereceived by a media interface component (not shown) and encoded in anyof a number of formats including, but not limited to, JPEG (JointPhotographic Experts Group) files, TIFF (Tagged Image File Format)files, PNG (Portable Network Graphics) files, GIF (Graphics InterchangeFormat) files, BMP (bitmap) files or other digital formats.

Note that the digital images may also be extracted from media contentencoded in other formats including, but not limited to, Motion PictureExperts Group (MPEG)-1, MPEG-2, MPEG-4, H.264, Third GenerationPartnership Project (3GPP), 3GPP-2, Standard-Definition Video(SD-Video), High-Definition Video (HD-Video), Digital Versatile Disc(DVD) multimedia, Video Compact Disc (VCD) multimedia, High-DefinitionDigital Versatile Disc (HD-DVD) multimedia, Digital TelevisionVideo/High-definition Digital Television (DTV/HDTV) multimedia, AudioVideo Interleave (AVI), Digital Video (DV), QuickTime (QT) file, WindowsMedia Video (WMV), Advanced System Format (ASF), Real Media (RM), FlashMedia (FLV), an MPEG Audio Layer III (MP3), an MPEG Audio Layer II(MP2), Waveform Audio Format (WAV), Windows Media Audio (WMA), or anynumber of other digital formats.

The image content analyzer 106 determines characteristics of the contentdepicted in digital images and includes a facial region identifier 114and a background scene identifier 116. The facial region identifier 114analyzes attributes of each individual depicted in the digital imagesand identifies the location of each individual's eyes, nose, mouth, andso on. The background scene identifier 116 analyzes attributes of thescene in the digital images and identifies objects such as buildings,landmarks, and so on. The attributes of the scene may comprise, forexample, colors, contour of background objects, brightness, and so on.

The image content analyzer 106 is further configured to derivecontextual cues associated with the digital images by analyzing dataencoded in the digital images where such cues may be used to determinethe context or event associated with the digital images. For someembodiments, the image content analyzer 106 is configured to analyzesuch attributes as the color palette, brightness level, and/or otherattributes of the content depicted in the digital images. Based on thepresence of certain colors, the image content analyzer 106 may predictthe event or context of the digital image. For example, the predominantpresence of the color green in the digital image may correspond to anoutdoor activity (e.g., a picnic), whereas the predominant presence ofthe color blue may correspond to the presence of water (e.g., a beachside activity). To further illustrate, a high brightness level maycorrespond to a sunny day, whereas a low brightness level may correspondto a cloudy day, where the threshold brightness level(s) may bespecified by the user. For some embodiments, the image content analyzer106 further includes a metadata processor 118 configured to extractmetadata encoded in the digital images. The metadata may comprise, butis not limited to, location data, time stamp, date stamp, keywords,tags, and other descriptive data characterizing the content and contextof the digital images.

The peripheral data processor 120 in the image content analyzer 106analyzes data external to the digital images. Specifically, theperipheral data processor 120 may be granted permission by the user ofthe image editing device 102 to access personal data stored by the useron the image editing device 102, where the personal data may comprisecalendar data, social media data, and so on. For example, the user mayelect to allow the peripheral data processor 120 to access the user'scalendar, which specifies events and activities that the user attended.The social media data may specify the user's age, facial recognitiondata for identifying the user, the user's occupation, and/or otherinformation associated with the user.

The user interface component 112 is configured to provide a userinterface to the user of the image editing device and allow the user tospecify which criterion to apply for facilitating the automaticapplication of special effects. For example, the user may specify viathe user interface that special effects are to be applied based onevents associated with digital images. Based on the selected criterionand based on the analysis performed by the image content analyzer 106,the special effects component 110 obtains corresponding special effects124 from a data store 122 in the image editing device. The obtainedspecial effect(s) is then applied to the digital image being processed.

FIG. 2 shows another embodiment of the effects applicator 104 where theimage content analyzer 106 further comprises a gesture sensor 126 forautomatically applying special effects based on gestures depicted in thedigital image. Note that the gesture sensor 126 may be executedseparately or in conjunction with the other components of the imagecontent analyzer 106 (facial region identifier 114, background sceneidentifier 116). The gesture sensor 126 is configured to identify thedepiction of one or more target gestures 128 in the digital images,where the target gestures 128 may be stored in the data store 122. Thetarget gestures 128 may be stored in the data store 122 in variousformats. For example, the target gestures 128 may be stored in the formof representative digital images depicting the target gestures (e.g., adigital image of an individual waving) and/or in the form of graphicaldepictions (e.g., line drawings) of the target gestures.

In operation, the gesture sensor 126 identifies the presence of one ormore target gestures of interest in a digital image. Based on thedetermination that one or more target gestures of interest are depictedin the digital image, the effects applicator 104 applies one or morepre-determined special effects associated with the target gesture(s).For example, a thumbs-up gesture detected by the gesture sensor 126 mayresult in a particular special effect graphic being retrieved from thedata store 122 and superimposed onto the digital image. Each targetgesture 128 in the data store 122 may be associated with a correspondingspecial effect. Note that the target gestures 128 in the data store 122may be specified by the user of the image editing device 102.

FIG. 3 is a schematic diagram of the image editing device 102 shown inFIG. 1. The image editing device 102 may be embodied in any one of awide variety of wired and/or wireless computing devices, such as adesktop computer, portable computer, dedicated server computer,multiprocessor computing device, smartphone, tablet computing device,and so forth. As shown in FIG. 3, the image editing device 102 comprisesmemory 314, a processing device 302, a number of input/output interfaces304, a network interface 306, a display 106, a camera module 111, andmass storage 326, wherein each of these devices are connected across alocal data bus 310.

The processing device 302 may include any custom made or commerciallyavailable processor, a central processing unit (CPU) or an auxiliaryprocessor among several processors associated with the image editingdevice 102, a semiconductor based microprocessor (in the form of amicrochip), a macroprocessor, one or more application specificintegrated circuits (ASICs), a plurality of suitably configured digitallogic gates, and other well known electrical configurations comprisingdiscrete elements both individually and in various combinations tocoordinate the overall operation of the computing system.

The memory 314 can include any one of a combination of volatile memoryelements (e.g., random-access memory (RAM, such as DRAM, and SRAM,etc.)) and nonvolatile memory elements (e.g., ROM, hard drive, CDROM,etc.). The memory 314 typically comprises a native operating system 317,one or more native applications, emulation systems, or emulatedapplications for any of a variety of operating systems and/or emulatedhardware platforms, emulated operating systems, etc.

The applications may include application specific software which maycomprise some or all the components (effects applicator 104) of theimage editing device 102 depicted in FIG. 1. In accordance with suchembodiments, the components are stored in memory 314 and executed by theprocessing device 302. One of ordinary skill in the art will appreciatethat the memory 314 can, and typically will, comprise other componentswhich have been omitted for purposes of brevity.

Although the components of the image editing device 102 and othervarious components described herein may be embodied in software or codeexecuted by general purpose hardware as discussed above, the componentsof the image editing device 102 may also be embodied in dedicatedhardware or a combination of software/general purpose hardware anddedicated hardware. If embodied in dedicated hardware, each can beimplemented as a circuit or state machine that employs any one of or acombination of a number of technologies.

The term “executable” may refer to a program file that is in a form thatcan be run by the processing device 302. Examples of executable programsmay comprise, for example, a compiled program that can be translatedinto machine code in a format that can be loaded into a random accessportion of the memory 314 and run by the processing device 302, sourcecode that may be expressed in proper format such as object code that iscapable of being loaded into a random access portion of the memory 314and executed by the processing device 302, or source code that may beinterpreted by another executable program to generate instructions in arandom access portion of the memory 314 to be executed by the processingdevice 302, etc. An executable program may be stored in any portion orcomponent of the memory 314 including, for example, random access memory(RAM), read-only memory (ROM), hard drive, solid-state drive, USB flashdrive, memory card, optical disc such as compact disc (CD) or digitalversatile disc (DVD), floppy disk, magnetic tape, or other memorycomponents. Input/output interfaces 304 provide any number of interfacesfor the input and output of data.

In the context of this disclosure, a non-transitory computer-readablemedium stores programs for use by or in connection with an instructionexecution system, apparatus, or device. More specific examples of acomputer-readable medium may include by way of example and withoutlimitation: a portable computer diskette, a random access memory (RAM),a read-only memory (ROM), an erasable programmable read-only memory(EPROM, EEPROM, or Flash memory), and a portable compact disc read-onlymemory (CDROM) (optical).

With further reference to FIG. 3, network interface 306 comprisesvarious components used to transmit and/or receive data over a networkenvironment. The image editing device 102 may communicate with one ormore computing devices via the network interface 306 over a network. Aperipheral interface (not shown) of the image editing system 102supports various interfaces including, but not limited to IEEE-1394 HighPerformance Serial Bus (Firewire), USB, a serial connection, and aparallel connection.

Reference is made to FIG. 4, which is a flowchart 400 in accordance withone embodiment for automatically applying special effects performed bythe image editing device 102 of FIG. 1. It is understood that theflowchart 400 of FIG. 4 provides merely an example of the many differenttypes of functional arrangements that may be employed to implement theoperation of the various components of the image editing device 102. Asan alternative, the flowchart of FIG. 4 may be viewed as depicting anexample of steps of a method implemented in the image editing device 102according to one or more embodiments.

Although the flowchart of FIG. 4 shows a specific order of execution, itis understood that the order of execution may differ from that which isdepicted. For example, the order of execution of two or more blocks maybe scrambled relative to the order shown. Also, two or more blocks shownin succession in FIG. 4 may be executed concurrently or with partialconcurrence. It is understood that all such variations are within thescope of the present disclosure.

Beginning with block 410, the media interface component in the imageediting device 102 obtains a digital image. In block 420, the userinterface component 112 (FIG. 1) retrieves a selection from a user ofthe image editing device 102, where the selection by the user specifiesat least one criterion. In block 430, the image content analyzer 106(FIG. 1) analyzes at least one attribute of the digital image. In block440, the image content analyzer 106 determines whether the at least oneattribute coincides with a target attribute associated with the at leastone criterion. In block 450, the special effects component 110 (FIG. 1)obtains a special effect from a data store responsive to the at leastone attribute coinciding with the target attribute. In block 460, thespecial effects component 110 applies the obtained special effect to thedigital image.

Reference is made to FIGS. 5A and 5B, which is a flowchart 500 inaccordance with one embodiment for further describing the operationsperformed by the image content analyzer 106 (FIG. 1) of analyzing one ofmore attributes of the digital image and determining whether the one ormore attributes coincide with a target attribute. It is understood thatthe flowchart 500 of FIGS. 5A and 5B provides merely an example of themany different types of functional arrangements that may be employed toimplement the operation of the various components of the image editingdevice 102. As an alternative, the flowchart of FIGS. 5A and 5B may beviewed as depicting an example of steps of a method implemented in theimage editing device 102 according to one or more embodiments.

Although the flowchart of FIGS. 5A and 5B shows a specific order ofexecution, it is understood that the order of execution may differ fromthat which is depicted. For example, the order of execution of two ormore blocks may be scrambled relative to the order shown. Also, two ormore blocks shown in succession in FIGS. 5A and 5B may be executedconcurrently or with partial concurrence. It is understood that all suchvariations are within the scope of the present disclosure.

Beginning with block 510, the image content analyzer 106 (FIG. 1)analyzes the contents of the digital image and in decision block 520, adetermination is made on whether the digital image contains anymetadata. If metadata is encoded in the digital image, then in block530, the image content analyzer 106 parses the metadata and extractssuch data as tag data, location data, time stamp, and so on to determineone or more attributes associated with the content of the digital image.For some embodiments, the image content analyzer 106 may be configuredto search for a one or more specific pieces of information contained inthe metadata. For example, the image content analyzer 106 may beconfigured to specifically search for location data, time stamp, and tagdata describing an event associated with the digital image.

In block 540, the image content analyzer 106 compares the determinedattribute(s) of the digital image with one or more target attributesassociated with the criterion selected by the user. To illustrate,suppose that the selected criterion comprises an event-based criterion.The target attributes associated with this criterion may comprise by wayof example and without limitation, a birthday event, a sporting event, awedding event, a concert event, and so on. Notably, each criterion hasone or more predetermined target attributes.

In decision block 550, the image content analyzer 106 determines whetherthe determined attribute(s) of the digital image coincides with one ormore the target attributes of the selected criterion by determiningwhether the determined attribute(s) match any of the one or more targetattributes within a threshold degree of similarity. For example, adetermined attribute of the digital image may comprise the time (anddate) in which the digital image was taken (e.g., 7:00 pm). A targetattribute may comprise an attribute of “after work hours” and specify atime of 6:00 pm as the end of business time. In this example, the imagecontent analyzer 106 may determine that the determined attribute 7:00 pmcoincides with the target attribute of “after work hours” based on thespecified threshold (6:00 pm) of the target attribute.

If the determined attribute(s) coincide with the target attribute, thenin block 560, the image content analyzer 106 instructs the specialeffects component 110 (FIG. 1) to retrieve one or more special effectsbased on the match result and instructs the special effects component110 to apply the retrieved special effect to the digital image. Withreference to the example above, the special effects may comprise one ormore cosmetic make-up effects to be applied to the individual's face. Ifthe determined attribute(s) does not coincide with the target attribute,then in block 570, the image content analyzer 106 instructs the specialeffects component 110 (FIG. 1) not to apply the retrieved special effectto the digital image.

Returning to decision block 520, if no metadata is encoded in thedigital image, then the image content analyzer 106 attempts to determineone or more attributes of the digital image by comparing a time stamp(i.e., time/date stamp of the digital image file) associated with thedigital image with information contained in personal data of the user ofthe image editing system 102. Specifically, the image content analyzer106 proceeds to decision block 580 (FIG. 5B) where a determination ismade on whether the user of the image editing device 102 has grantedpermission for the effects applicator 104 (FIG. 1) to access personaldata stored locally on the image editing device 102 and/or stored in thecloud.

If the user has granted permission for the effects applicator 104 toaccess the user's personal information, then in block 590, the imagecontent analyzer 106 analyzes such data as calendar data and socialmedia data to extract event information. For example, the user may haveposted a status update on a social media website that the user attendeda certain sporting event at a particular time/date. In block 600, theimage content analyzer 106 compares the extracted event informationcontained in the personal data with the time stamp of the digital image,and in block 610, the image content analyzer 106 determines an attributeof the digital image by correlating the event with the time stamp of thedigital image. With reference to the example above, the image contentanalyzer 106 may determine based on the time stamp of the digital imagethat the content of the digital image corresponds to the sporting eventthat the user attended. The process then proceeds to block 560 (FIGS.5A), where the image content analyzer 106 instructs the special effectscomponent 110 to retrieve one or more special effects based on the matchresult and instructs the special effects component 110 to apply theretrieved special effect to the digital image. Referring back todecision block 580 (FIG. 5B), if the user has elected not to allow theeffects applicator 104 to access the user's personal data, then nofurther action is taken.

FIG. 6 illustrates an example whereby the effects applicator 104 in theimage editing device 102 (FIG. 1) applies an event-based special effectto a digital image. In the example shown, the image content analyzer 106(FIG. 1) in the effects applicator 104 analyzes a time/date stamp 614 ofthe digital image and the user's calendar data 616. Note that thetime/date 614 may be extracted from metadata encoded in the digitalimage 610 or extracted from the computer file time stamp indicating whenthe digital image was last modified.

The effects applicator 104 receives a selection from the user of theimage editing device 102, where the selection specifies a criterion forautomatically applying a special effect to the digital image 610. In theexample shown, the user elects to have special effects applied based onan event-based criterion 602. As shown, the user's calendar data 616contains information relating to an event that the user attended. Theimage content analyzer 106 determines that an attribute (i.e., timestamp 614) of the digital image 610 coincides with an event that theuser attended and therefore concludes that the digital image is likelyassociated with the event specified in the calendar (i.e., birthdayparty). Based on this determination, the image content analyzer 106instructs the special effects component 110 (FIG. 1) to retrieve acorresponding event-specific graphic 604. In the example shown, theevent-specific graphic 604 comprises a birthday hat 602 that isincorporated by the special effects component 110 (FIG. 1) on top of theindividual's head to generate a modified digital image 612.

FIG. 7 illustrates an example whereby the effects applicator 104 in theimage editing device 102 (FIG. 1) applies a location-based specialeffect to a digital image. In the example shown, the image contentanalyzer 106 (FIG. 1) in the effects applicator 104 analyzes a time/datestamp 714 and location information encoded in metadata of the digitalimage in conjunction with the user's calendar data 717. Specifically,the effects applicator 104 receives a digital image 710 and extracts atime/date stamp 714 and location information 714 from the metadataencoded in the digital image 710.

In the example shown, the user elects to have special effects appliedbased on a location-based criterion 702. As shown, the user's calendardata 717 contains information relating to an event that the userattended. The image content analyzer 106 determines that attributes(i.e., time and location) of the digital image 710 coincides with alocation (and event) of the user and therefore concludes that thedigital image is likely associated with the location (and event)specified in the calendar (i.e., soccer match). Based on thisdetermination, the image content analyzer 106 instructs the specialeffects component 110 (FIG. 1) to retrieve a correspondinglocation-specific graphic 704. In the example shown, thelocation-specific graphic 704 comprises a soccer ball graphic 706 thatis incorporated by the special effects component 110 (FIG. 1) on theindividual's face to generate a modified digital image 712.

FIG. 8 illustrates another example whereby the effects applicator 104applies a special effect based on a gesture or pose depicted in thedigital image 810. In the example shown, the gesture sensor 126 (FIG. 2)determines that the individual depicted in the digital image 810 isjumping. Based on this determination, the special effects component 110(FIG. 2) obtains a corresponding special effect and applies the specialeffect to the individual depicted in the digital image (e.g., a hatplaced on the head of the individual to represent dancing or a snowboardplaced on the feet of the individual to represent skiing).

It should be emphasized that the above-described embodiments of thepresent disclosure are merely possible examples of implementations setforth for a clear understanding of the principles of the disclosure.Many variations and modifications may be made to the above-describedembodiment(s) without departing substantially from the spirit andprinciples of the disclosure. All such modifications and variations areintended to be included herein within the scope of this disclosure andprotected by the following claims.

At least the following is claimed:
 1. A method implemented in an imageediting device, comprising: obtaining a digital image; retrieving aselection from a user, the user selection specifying at least onecriterion; analyzing at least one attribute of the digital image;determining whether the at least one attribute coincides with a targetattribute associated with the at least one criterion; responsive to theat least one attribute coinciding with the target attribute, obtaining aspecial effect from a data store; and applying the obtained specialeffect to the digital image.
 2. The method of claim 1, wherein thecriterion comprises at least one of: an event-based criterion, atime-based criterion, and a location-based criterion.
 3. The method ofclaim 1, wherein the criterion comprises a gesture-based criterion. 4.The method of claim 3, wherein the target attribute comprises one ormore of a target gesture and target pose depicted by an individual inthe digital image.
 5. The method of claim 1, wherein determining whetherthe at least one attribute coincides with the target attributeassociated with the at least one criterion comprises: analyzing at leastone of: metadata corresponding to the at least one criterion, themetadata being encoded in the digital image; and personal data relatingto a user of the image editing system, wherein analyzing comprisescomparing event information contained in the personal data with a timestamp of the digital image; and determining the at least one attributebased on the analysis.
 6. The method of claim 5, wherein the personaldata comprises at least one of calendar data and social media data,wherein the calendar data specifies at least one scheduled event, andwherein the social media data specifies at least one of an age of theuser, facial recognition data for identifying the user, and anoccupation of the user.
 7. The method of claim 5, further comprisingobtaining permission from the user of the image editing system to accessthe personal data, wherein the personal data is stored on at least oneof the image editing system and cloud storage.
 8. The method of claim 1,wherein analyzing at least one attribute of the digital image furthercomprises: analyzing the digital image to predict an event type, whereinanalyzing the digital image comprises analyzing at least one of colorand brightness of the digital image to predict the event type of thedigital image.
 9. The method of claim 1, wherein applying the obtainedspecial effect to the digital image comprises: identifying a facialregion of an individual in the digital image; and applying the specialeffect to the facial region, wherein the special effect comprises acosmetic effect for modifying an appearance of the facial region. 10.The method of claim 1, wherein applying the obtained special effect tothe digital image comprises: identifying a facial region of anindividual in the digital image; identifying a head of the individual;and applying the special effect on the head of the individual, whereinthe special effect comprises an article of headwear.
 11. The method ofclaim 1, wherein applying the obtained special effect to the digitalimage comprises: identifying a facial region of an individual in thedigital image; identifying a body region of the individual; and applyingthe special effect to the body region, wherein the special effectcomprises an accessory or clothing effect for modifying an appearance ofthe body region.
 12. An image editing system for automatically applyingspecial effects, comprising: a processor; and an application executablein the processor, the application comprising: a media interfacecomponent for obtaining a digital image; a user interface component forretrieving a selection from a user, the user selection specifying atleast one criterion; an image content analyzer for analyzing at leastone attribute of the digital image and for determining whether the atleast one attribute coincides with a target attribute associated withthe at least one criterion; a special effects component for obtaining aspecial effect from a data store responsive to the at least oneattribute coinciding with the target attribute and for applying theobtained special effect to the digital image.
 13. The system of claim12, wherein the criterion comprises at least one of: an event-basedcriterion, a time-based criterion, and a location-based criterion. 14.The system of claim 12, wherein the criterion comprises a gesture-basedcriterion.
 15. The system of claim 14, wherein the target attributecomprises one or more of a target gesture and target pose depicted by anindividual in the digital image.
 16. The system of claim 12, wherein theimage content analyzer determines whether the at least one attributecoincides with the target attribute associated with the at least onecriterion by analyzing at least one of: metadata corresponding to the atleast one criterion, the metadata being encoded in the digital image;and personal data relating to a user of the image editing system,wherein analyzing comprises comparing event information contained in thepersonal data with a time stamp of the digital image, and wherein theimage content analyzer determines the at least one attribute based onthe analysis.
 17. The system of claim 16, wherein the personal datacomprises at least one of calendar data and social media data.
 18. Thesystem of claim 12, wherein the special effects component applies theobtained special effect to the digital image by: identifying a facialregion of an individual depicted in the digital image; and applying thespecial effect to the facial region, wherein the special effectcomprises a cosmetic effect for modifying an appearance of the facialregion.
 19. The system of claim 12, wherein the special effectscomponent applies the obtained special effect to the digital image by:identifying a facial region of an individual in the digital image; andapplying the special effect on the head of the individual, wherein thespecial effect comprises an article of headwear.
 20. The system of claim12, wherein the special effects component applies the obtained specialeffect to the digital image by: identifying a facial region of anindividual in the digital image; identifying a body region of theindividual; and applying the special effect to the body region, whereinthe special effect comprises an accessory or clothing effect formodifying an appearance of the body region.
 21. A non-transitorycomputer-readable medium embodying a program executable in a computingdevice, comprising: code that obtains a digital image depicting anindividual; code that determines a context of an event associated withthe digital image by extracting at least one of time and locationinformation contained in metadata encoded in the digital image andcomparing the extracted data against calendar data; code that obtains acosmetic effect from a data store based on the determined event context;and code that applies the obtained cosmetic effect to the digital image.22. The non-transitory computer-readable medium of claim 21, furthercomprising code that compares the determined event context with aplurality of pre-defined contexts, each of the plurality of pre-definedcontexts having a corresponding cosmetic effect.
 23. The non-transitorycomputer-readable medium of claim 21, wherein the code that determinesthe context of the event further compares the extracted data with socialmedia data.